package com.cskaoyan.day6._03_constructor;

import java.util.HashMap;
import java.util.Map;

/**
 * @author Common-zhou
 * @since 2023-03-04 11:07
 */
public class Demo1 {
    public static void main(String[] args) {
        //HashMap()
        //构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。
        //HashMap(int initialCapacity)
        //构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap。
        //HashMap(int initialCapacity, float loadFactor)
        //构造一个带指定初始容量和加载因子的空 HashMap。
        //HashMap(Map<? extends K,? extends V> m)
        //构造一个映射关系与指定 Map 相同的新 HashMap。

        Map<String, String> map = new HashMap<>();

        // 1.初始容量
        // 2.扩容倍数

        // 10 --》 16
        // 指定容量，会找一个2的幂次方
        // 比如传 10 --》 16  ； 传16 --》 16
        // 找到一个大于等于给定的容量的 2的幂次方
        Map<String, String> map2 = new HashMap<>(10);

        // 0.1
        // 16 * 0.1
        // 测试。 0.75

        //HashMap(Map<? extends K,? extends V> m)

        map.put("zs", "hubei");
        map.put("ls", "hunan");


        // 如果传入一个Map，会把传入的Map复制一份，传给新Map
        Map<String,String> map1 = new HashMap<>(map);

        System.out.println(map1);


    }
}
